<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>prencar: LineFollow Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="prencar.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">prencar
   &#160;<span id="projectnumber">1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.8.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('class_line_follow.html','');
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">LineFollow Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for LineFollow:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow__inherit__graph.png" border="0" usemap="#_line_follow_inherit__map" alt="Inheritance graph"/></div>
<map name="_line_follow_inherit__map" id="_line_follow_inherit__map">
<area shape="rect" id="node3" href="class_curve_left.html" title="The CurveLeft class will control the car during the 90° left curve." alt="" coords="9,80,84,107"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for LineFollow:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow__coll__graph.png" border="0" usemap="#_line_follow_coll__map" alt="Collaboration graph"/></div>
<map name="_line_follow_coll__map" id="_line_follow_coll__map">
<area shape="rect" id="node2" href="class_move.html" title="Move" alt="" coords="137,187,188,213"/><area shape="rect" id="node5" href="class_communication.html" title="Communication" alt="" coords="5,96,117,123"/><area shape="rect" id="node7" href="class_command.html" title="A Command object represents a command sent from the host software." alt="" coords="11,5,92,32"/><area shape="rect" id="node10" href="class_configuration.html" title="Configuration" alt="" coords="202,5,299,32"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="class_line_follow-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ace2e49549627ad0682ed71e0be714086"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#ace2e49549627ad0682ed71e0be714086">LineFollow</a> ()</td></tr>
<tr class="memitem:afac0ad1ff185b7e5f9b47428cb2e5e48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#afac0ad1ff185b7e5f9b47428cb2e5e48">begin</a> ()</td></tr>
<tr class="memitem:a93ff35747f2ae3bb26998f07243afc3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a93ff35747f2ae3bb26998f07243afc3c">doJob</a> ()</td></tr>
<tr class="memitem:a9db172747e4457a6b01f8d27ed41ac39"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a9db172747e4457a6b01f8d27ed41ac39">calibrateSensors</a> ()</td></tr>
<tr class="memdesc:a9db172747e4457a6b01f8d27ed41ac39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calibrates the sensors.  <a href="#a9db172747e4457a6b01f8d27ed41ac39"></a><br/></td></tr>
<tr class="memitem:a5f3e76e795bacff24be60b7f65d84d94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a5f3e76e795bacff24be60b7f65d84d94">startIt</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:accb339a7a953d66032b9329a2b3a1b4d"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#accb339a7a953d66032b9329a2b3a1b4d">hasReachedCurve</a></td></tr>
<tr class="memdesc:accb339a7a953d66032b9329a2b3a1b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is set to true, if the left curve line is reached.  <a href="#accb339a7a953d66032b9329a2b3a1b4d"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a1e3bb3e01044c86e7ad87c632bac6634"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a1e3bb3e01044c86e7ad87c632bac6634">readFrontLineSensors</a> (int *resultArray)</td></tr>
<tr class="memitem:af85fe355ee0699cabc3c817d10aa8b9d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#af85fe355ee0699cabc3c817d10aa8b9d">readLineSensors</a> (int *resultArray)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a6f7f1f6ff879d0ce76823b03844bfc9a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a6f7f1f6ff879d0ce76823b03844bfc9a">_calibrationSensorWhiteMin</a></td></tr>
<tr class="memdesc:a6f7f1f6ff879d0ce76823b03844bfc9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the minimum value that was measured during the calibration for "white".  <a href="#a6f7f1f6ff879d0ce76823b03844bfc9a"></a><br/></td></tr>
<tr class="memitem:a7b4f3695a0133e9ba170199ddb1bdde6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a7b4f3695a0133e9ba170199ddb1bdde6">_calibrationSensorWhiteMax</a></td></tr>
<tr class="memdesc:a7b4f3695a0133e9ba170199ddb1bdde6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the maximum value that was measured during the calibration for "white".  <a href="#a7b4f3695a0133e9ba170199ddb1bdde6"></a><br/></td></tr>
<tr class="memitem:aeb722614b85d484aafe0714f9d319f3e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#aeb722614b85d484aafe0714f9d319f3e">_calibrationSensorBlackMin</a></td></tr>
<tr class="memdesc:aeb722614b85d484aafe0714f9d319f3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the minimum value that was measured during the calibration for "black".  <a href="#aeb722614b85d484aafe0714f9d319f3e"></a><br/></td></tr>
<tr class="memitem:aaeea70b897deb0295401aa316189c2ba"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#aaeea70b897deb0295401aa316189c2ba">_calibrationSensorBlackMax</a></td></tr>
<tr class="memdesc:aaeea70b897deb0295401aa316189c2ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the maximum value that was measured during the calibration for "black".  <a href="#aaeea70b897deb0295401aa316189c2ba"></a><br/></td></tr>
<tr class="memitem:a8c494126e578f00240532b866b051718"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_communication.html">Communication</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a8c494126e578f00240532b866b051718">_com</a></td></tr>
<tr class="memdesc:a8c494126e578f00240532b866b051718"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reference to the serial communication class.  <a href="#a8c494126e578f00240532b866b051718"></a><br/></td></tr>
<tr class="memitem:ac6fe17d43571248ea2e74fade7ceb5bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_move.html">Move</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#ac6fe17d43571248ea2e74fade7ceb5bd">_move</a></td></tr>
<tr class="memdesc:ac6fe17d43571248ea2e74fade7ceb5bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reference to the move class to control the motors.  <a href="#ac6fe17d43571248ea2e74fade7ceb5bd"></a><br/></td></tr>
<tr class="memitem:a0112816d723edd82daf2dabbf1ff074f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_configuration.html">Configuration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a0112816d723edd82daf2dabbf1ff074f">_conf</a></td></tr>
<tr class="memdesc:a0112816d723edd82daf2dabbf1ff074f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reference to the configuration class.  <a href="#a0112816d723edd82daf2dabbf1ff074f"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a9c31b9a1c2d0627dcbfdb2af0bf7778e"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a9c31b9a1c2d0627dcbfdb2af0bf7778e">_timeLastLineFollowCheck</a></td></tr>
<tr class="memdesc:a9c31b9a1c2d0627dcbfdb2af0bf7778e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the timestamp of the time when the last line follow check was done.  <a href="#a9c31b9a1c2d0627dcbfdb2af0bf7778e"></a><br/></td></tr>
<tr class="memitem:a44ff5bd13460ce3d6737319c6d0023f0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#a44ff5bd13460ce3d6737319c6d0023f0">_deltasensor</a></td></tr>
<tr class="memitem:ae28a165a4eaf1ab88fe0cab11e325ba7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#ae28a165a4eaf1ab88fe0cab11e325ba7">_sensoralt</a></td></tr>
<tr class="memitem:aaef3837f6fd0ea4d69458dbe7a5ed54d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_line_follow.html#aaef3837f6fd0ea4d69458dbe7a5ed54d">_deltaPWM</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00008">8</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ace2e49549627ad0682ed71e0be714086"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_line_follow.html#ace2e49549627ad0682ed71e0be714086">LineFollow::LineFollow</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Constructur for the class. </p>

<p>Definition at line <a class="el" href="_line_follow_8cpp_source.html#l00009">9</a> of file <a class="el" href="_line_follow_8cpp_source.html">LineFollow.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="afac0ad1ff185b7e5f9b47428cb2e5e48"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_line_follow.html#afac0ad1ff185b7e5f9b47428cb2e5e48">LineFollow::begin</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Prepares the <a class="el" href="class_line_follow.html">LineFollow</a> object to work together with other classes. The preparations done in here can not be done from within the constructor because of dependencies such as Serial communication. <b>This method needs to be called before this class can be fully used.</b> </p>

<p>Reimplemented in <a class="el" href="class_curve_left.html#a0e6f8f5d7f869edfaf34cf3e74676a86">CurveLeft</a>.</p>

<p>Definition at line <a class="el" href="_line_follow_8cpp_source.html#l00019">19</a> of file <a class="el" href="_line_follow_8cpp_source.html">LineFollow.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_afac0ad1ff185b7e5f9b47428cb2e5e48_cgraph.png" border="0" usemap="#class_line_follow_afac0ad1ff185b7e5f9b47428cb2e5e48_cgraph" alt=""/></div>
<map name="class_line_follow_afac0ad1ff185b7e5f9b47428cb2e5e48_cgraph" id="class_line_follow_afac0ad1ff185b7e5f9b47428cb2e5e48_cgraph">
<area shape="rect" id="node3" href="class_communication.html#ad7b13fccf78bfce83efc9bb06c64facd" title="Communication::getInstance" alt="" coords="176,31,363,57"/><area shape="rect" id="node10" href="class_move.html#a5b53cfa443fe4fe0f1b96f9b3afc4850" title="Move::getInstance" alt="" coords="206,157,333,184"/><area shape="rect" id="node29" href="class_configuration.html#ae327d26e81014cf46b25802478fe9b8e" title="Configuration::getInstance" alt="" coords="183,208,355,235"/><area shape="rect" id="node5" href="class_communication.html#a88aa7a2d2ac5202e2b8eef787d1a8689" title="Communication::Communication" alt="" coords="411,31,621,57"/><area shape="rect" id="node8" href="class_configuration.html#a75b42e72d9a00415dfafa5d5dd8281b8" title="Configuration::getSerialSpeed" alt="" coords="713,5,906,32"/><area shape="rect" id="node12" href="class_move.html#a4b1acc3a67d30c385ad9a6000526393a" title="Move::Move" alt="" coords="471,107,561,133"/><area shape="rect" id="node14" href="class_move.html#afcff6c5d4fd9e58382ee01d6270f4707" title="Move::begin" alt="" coords="471,157,561,184"/><area shape="rect" id="node17" href="class_configuration.html#aecc6c34b834bb9adb42d5f8c7314cd9c" title="Configuration::getMovePwmLeftPin" alt="" coords="698,56,921,83"/><area shape="rect" id="node19" href="class_configuration.html#a156dc7d1360c8e70c7aba5eb20481afa" title="Configuration::getMovePwmRightPin" alt="" coords="694,107,925,133"/><area shape="rect" id="node21" href="class_configuration.html#aa1599159aa8233fe3f974fb2e51129e4" title="Configuration::getMoveModeFirstLeftPin" alt="" coords="684,157,935,184"/><area shape="rect" id="node23" href="class_configuration.html#a4d1252f0afd9ebb35cc7f38a769fdeff" title="Configuration::getMoveModeSecondLeftPin" alt="" coords="675,208,944,235"/><area shape="rect" id="node25" href="class_configuration.html#a9bf200a445b05745a678d18e46ca446d" title="Configuration::getMoveModeFirstRightPin" alt="" coords="679,259,939,285"/><area shape="rect" id="node27" href="class_configuration.html#a2c95181edbee124c040f5db52c15fdb6" title="Configuration::getMoveModeSecondRightPin" alt="" coords="670,309,949,336"/><area shape="rect" id="node31" href="class_configuration.html#a779947337bf652f0e773cb29f37f14ba" title="Configuration::Configuration" alt="" coords="426,208,606,235"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_afac0ad1ff185b7e5f9b47428cb2e5e48_icgraph.png" border="0" usemap="#class_line_follow_afac0ad1ff185b7e5f9b47428cb2e5e48_icgraph" alt=""/></div>
<map name="class_line_follow_afac0ad1ff185b7e5f9b47428cb2e5e48_icgraph" id="class_line_follow_afac0ad1ff185b7e5f9b47428cb2e5e48_icgraph">
<area shape="rect" id="node3" href="class_state_maschine.html#acdadfde97fc8449c816c1b489e2f4a22" title="StateMaschine::begin" alt="" coords="177,5,325,32"/><area shape="rect" id="node5" href="class_state_maschine.html#a908a6b51448036bc23a7cd76acfcfbe0" title="StateMaschine::getInstance" alt="" coords="373,5,557,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a9db172747e4457a6b01f8d27ed41ac39"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_line_follow.html#a9db172747e4457a6b01f8d27ed41ac39">LineFollow::calibrateSensors</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calibrates the sensors. </p>
<p>This method can be called before the car starts with it's parcours. It evaluates the max and min values for the sensor when it's physical position is on black or white ground. For every position 50 measurements are taken and stored afterwords.<br/>
 This method uses serial communication to instruct the person where to place the car.<br/>
<br/>
 <b>Important: All measurements are done using to front left sensor. The other sensors are not measured separately since we have equivalent sensors.</b> </p>
<ol>
<li>
Calibration function is called. Place the front left sensor on black ground. The microcontroller sleeps for 10 seconds. </li>
<li>
50 measurements are taken (time between measurements: 100ms). </li>
<li>
The minimum and maximum measured value are evaluated and stored into _calibrationSensorBlackMin and _calibrationSensorBlackMax. </li>
<li>
Place the front left sensor on white ground. The microcontroller sleeps for 10 seconds. </li>
<li>
50 measurements are taken (time between measurements: 100ms). </li>
<li>
The minimum and maximum measured value are evaluated and stored into _calibrationSensorWhiteMin and _calibrationSensorWhiteMax. </li>
<li>
Out of this measurements the <a class="el" href="class_configuration.html#a6c0d6f8b78ea6b6e167c80bce9447906" title="Threshold value from black to white.">Configuration::lineFollowWhiteThreshold</a> value gets calculated and stored. It will be +100 than _calibrationSensorWhiteMax. </li>
</ol>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="class_configuration.html#a6c0d6f8b78ea6b6e167c80bce9447906" title="Threshold value from black to white.">Configuration::lineFollowWhiteThreshold</a> </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>The calculation of <a class="el" href="class_configuration.html#a6c0d6f8b78ea6b6e167c80bce9447906" title="Threshold value from black to white.">Configuration::lineFollowWhiteThreshold</a> can be done using some config value as well so that the behavior can be influenced by the configuration. </dd></dl>

<p>Definition at line <a class="el" href="_line_follow_8cpp_source.html#l00136">136</a> of file <a class="el" href="_line_follow_8cpp_source.html">LineFollow.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_a9db172747e4457a6b01f8d27ed41ac39_cgraph.png" border="0" usemap="#class_line_follow_a9db172747e4457a6b01f8d27ed41ac39_cgraph" alt=""/></div>
<map name="class_line_follow_a9db172747e4457a6b01f8d27ed41ac39_cgraph" id="class_line_follow_a9db172747e4457a6b01f8d27ed41ac39_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="243,5,391,32"/><area shape="rect" id="node5" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="440,5,675,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_a9db172747e4457a6b01f8d27ed41ac39_icgraph.png" border="0" usemap="#class_line_follow_a9db172747e4457a6b01f8d27ed41ac39_icgraph" alt=""/></div>
<map name="class_line_follow_a9db172747e4457a6b01f8d27ed41ac39_icgraph" id="class_line_follow_a9db172747e4457a6b01f8d27ed41ac39_icgraph">
<area shape="rect" id="node3" href="class_state_maschine.html#a5551d00a5224f595833b75969c2ca64a" title="StateMaschine::checkCommands" alt="" coords="243,5,461,32"/><area shape="rect" id="node5" href="class_state_maschine.html#a1095131aa8e6e9537f481b5f425395e2" title="StateMaschine::doJob" alt="" coords="510,5,661,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a93ff35747f2ae3bb26998f07243afc3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_line_follow.html#a93ff35747f2ae3bb26998f07243afc3c">LineFollow::doJob</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Does the job for which this class was written.<br/>
 This method has to be called in regular intervals (as short as possible).<br/>
 The sensor data of the sensors is captured and based on the result the motor speed is adjusted.</p>
<p>What's done in detail: </p>
<ol>
<li>
Read the front sensors to check, if a 90° courve is needed. </li>
<li>
Read the line sensor values to check if one line sensor has detected white ground (line follow algorithm). </li>
</ol>

<p>Reimplemented in <a class="el" href="class_curve_left.html#a34930d2641dbbd389c536999a560f158">CurveLeft</a>.</p>

<p>Definition at line <a class="el" href="_line_follow_8cpp_source.html#l00063">63</a> of file <a class="el" href="_line_follow_8cpp_source.html">LineFollow.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_a93ff35747f2ae3bb26998f07243afc3c_cgraph.png" border="0" usemap="#class_line_follow_a93ff35747f2ae3bb26998f07243afc3c_cgraph" alt=""/></div>
<map name="class_line_follow_a93ff35747f2ae3bb26998f07243afc3c_cgraph" id="class_line_follow_a93ff35747f2ae3bb26998f07243afc3c_cgraph">
<area shape="rect" id="node3" href="class_line_follow.html#a1e3bb3e01044c86e7ad87c632bac6634" title="LineFollow::readFrontLineSensors" alt="" coords="520,5,739,32"/><area shape="rect" id="node5" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="809,132,957,159"/><area shape="rect" id="node10" href="class_move.html#a237261f2dd8fc115129f0ba998f13183" title="Move::performFastStop" alt="" coords="551,107,707,133"/><area shape="rect" id="node13" href="class_line_follow.html#af85fe355ee0699cabc3c817d10aa8b9d" title="LineFollow::readLineSensors" alt="" coords="231,157,419,184"/><area shape="rect" id="node16" href="class_move.html#a5ba1c7d78d6a067bc3cfa5f9cdca921f" title="Move::changeMotorSpeedBasedOnInitialSpeed" alt="" coords="179,208,472,235"/><area shape="rect" id="node7" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="1027,132,1261,159"/><area shape="rect" id="node19" href="class_move.html#a9c5dc5c3a98abece0c2f40085c3601be" title="Move::controlMotors" alt="" coords="560,259,699,285"/><area shape="rect" id="node22" href="class_move.html#af6b1197771f0540b0becc4117d8d272f" title="Move::setLeftMotorDirection" alt="" coords="791,233,974,260"/><area shape="rect" id="node24" href="class_move.html#a06e67dafd581bbd086da404a90c4eeec" title="Move::setRightMotorDirection" alt="" coords="787,284,979,311"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_a93ff35747f2ae3bb26998f07243afc3c_icgraph.png" border="0" usemap="#class_line_follow_a93ff35747f2ae3bb26998f07243afc3c_icgraph" alt=""/></div>
<map name="class_line_follow_a93ff35747f2ae3bb26998f07243afc3c_icgraph" id="class_line_follow_a93ff35747f2ae3bb26998f07243afc3c_icgraph">
<area shape="rect" id="node3" href="class_state_maschine.html#a1095131aa8e6e9537f481b5f425395e2" title="StateMaschine::doJob" alt="" coords="179,5,330,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a1e3bb3e01044c86e7ad87c632bac6634"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_line_follow.html#a1e3bb3e01044c86e7ad87c632bac6634">LineFollow::readFrontLineSensors</a> </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>resultArray</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reads the two front line sensors and returns their values. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Pointer</td><td>to an int array where the two result values will be filled in. [0] front left sensor; [1] front right sensor </td></tr>
  </table>
  </dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>Maybe a delay is needed between the readings. </dd></dl>

<p>Definition at line <a class="el" href="_line_follow_8cpp_source.html#l00093">93</a> of file <a class="el" href="_line_follow_8cpp_source.html">LineFollow.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_a1e3bb3e01044c86e7ad87c632bac6634_cgraph.png" border="0" usemap="#class_line_follow_a1e3bb3e01044c86e7ad87c632bac6634_cgraph" alt=""/></div>
<map name="class_line_follow_a1e3bb3e01044c86e7ad87c632bac6634_cgraph" id="class_line_follow_a1e3bb3e01044c86e7ad87c632bac6634_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="273,5,421,32"/><area shape="rect" id="node5" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="469,5,704,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_a1e3bb3e01044c86e7ad87c632bac6634_icgraph.png" border="0" usemap="#class_line_follow_a1e3bb3e01044c86e7ad87c632bac6634_icgraph" alt=""/></div>
<map name="class_line_follow_a1e3bb3e01044c86e7ad87c632bac6634_icgraph" id="class_line_follow_a1e3bb3e01044c86e7ad87c632bac6634_icgraph">
<area shape="rect" id="node3" href="class_line_follow.html#a93ff35747f2ae3bb26998f07243afc3c" title="LineFollow::doJob" alt="" coords="272,5,397,32"/><area shape="rect" id="node5" href="class_state_maschine.html#a1095131aa8e6e9537f481b5f425395e2" title="StateMaschine::doJob" alt="" coords="446,5,597,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="af85fe355ee0699cabc3c817d10aa8b9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_line_follow.html#af85fe355ee0699cabc3c817d10aa8b9d">LineFollow::readLineSensors</a> </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>resultArray</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Reads the line sensors (but not the front sensors) and returns their values. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">Pointer</td><td>to an int array where the two result values will be filled in. [0] left sensor; [1] right sensor </td></tr>
  </table>
  </dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000008">Todo:</a></b></dt><dd>Maybe a delay is needed between the readings. </dd></dl>

<p>Definition at line <a class="el" href="_line_follow_8cpp_source.html#l00106">106</a> of file <a class="el" href="_line_follow_8cpp_source.html">LineFollow.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_af85fe355ee0699cabc3c817d10aa8b9d_cgraph.png" border="0" usemap="#class_line_follow_af85fe355ee0699cabc3c817d10aa8b9d_cgraph" alt=""/></div>
<map name="class_line_follow_af85fe355ee0699cabc3c817d10aa8b9d_cgraph" id="class_line_follow_af85fe355ee0699cabc3c817d10aa8b9d_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="243,5,391,32"/><area shape="rect" id="node5" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="440,5,675,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_af85fe355ee0699cabc3c817d10aa8b9d_icgraph.png" border="0" usemap="#class_line_follow_af85fe355ee0699cabc3c817d10aa8b9d_icgraph" alt=""/></div>
<map name="class_line_follow_af85fe355ee0699cabc3c817d10aa8b9d_icgraph" id="class_line_follow_af85fe355ee0699cabc3c817d10aa8b9d_icgraph">
<area shape="rect" id="node3" href="class_curve_left.html#a34930d2641dbbd389c536999a560f158" title="CurveLeft::doJob" alt="" coords="247,5,364,32"/><area shape="rect" id="node7" href="class_line_follow.html#a93ff35747f2ae3bb26998f07243afc3c" title="LineFollow::doJob" alt="" coords="243,56,368,83"/><area shape="rect" id="node5" href="class_state_maschine.html#a1095131aa8e6e9537f481b5f425395e2" title="StateMaschine::doJob" alt="" coords="417,31,567,57"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a5f3e76e795bacff24be60b7f65d84d94"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_line_follow.html#a5f3e76e795bacff24be60b7f65d84d94">LineFollow::startIt</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Starts the line following process. </p>

<p>Reimplemented in <a class="el" href="class_curve_left.html#a2f70c4b1efef29cdf04dff01e6a90336">CurveLeft</a>.</p>

<p>Definition at line <a class="el" href="_line_follow_8cpp_source.html#l00041">41</a> of file <a class="el" href="_line_follow_8cpp_source.html">LineFollow.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_a5f3e76e795bacff24be60b7f65d84d94_cgraph.png" border="0" usemap="#class_line_follow_a5f3e76e795bacff24be60b7f65d84d94_cgraph" alt=""/></div>
<map name="class_line_follow_a5f3e76e795bacff24be60b7f65d84d94_cgraph" id="class_line_follow_a5f3e76e795bacff24be60b7f65d84d94_cgraph">
<area shape="rect" id="node3" href="class_move.html#a9c5dc5c3a98abece0c2f40085c3601be" title="Move::controlMotors" alt="" coords="179,56,317,83"/><area shape="rect" id="node5" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="387,5,535,32"/><area shape="rect" id="node9" href="class_move.html#af6b1197771f0540b0becc4117d8d272f" title="Move::setLeftMotorDirection" alt="" coords="370,56,553,83"/><area shape="rect" id="node11" href="class_move.html#a06e67dafd581bbd086da404a90c4eeec" title="Move::setRightMotorDirection" alt="" coords="365,107,557,133"/><area shape="rect" id="node7" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="605,5,840,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_line_follow_a5f3e76e795bacff24be60b7f65d84d94_icgraph.png" border="0" usemap="#class_line_follow_a5f3e76e795bacff24be60b7f65d84d94_icgraph" alt=""/></div>
<map name="class_line_follow_a5f3e76e795bacff24be60b7f65d84d94_icgraph" id="class_line_follow_a5f3e76e795bacff24be60b7f65d84d94_icgraph">
<area shape="rect" id="node3" href="class_state_maschine.html#a1095131aa8e6e9537f481b5f425395e2" title="StateMaschine::doJob" alt="" coords="689,5,839,32"/><area shape="rect" id="node5" href="class_state_maschine.html#aaca597f41ba735fce3ef0eb06e4fda18" title="StateMaschine::startParcours" alt="" coords="179,31,373,57"/><area shape="rect" id="node7" href="class_state_maschine.html#a5551d00a5224f595833b75969c2ca64a" title="StateMaschine::checkCommands" alt="" coords="421,31,640,57"/></map>
</div>
</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="aaeea70b897deb0295401aa316189c2ba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_line_follow.html#aaeea70b897deb0295401aa316189c2ba">LineFollow::_calibrationSensorBlackMax</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Holds the maximum value that was measured during the calibration for "black". </p>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00021">21</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeb722614b85d484aafe0714f9d319f3e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_line_follow.html#aeb722614b85d484aafe0714f9d319f3e">LineFollow::_calibrationSensorBlackMin</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Holds the minimum value that was measured during the calibration for "black". </p>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00020">20</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7b4f3695a0133e9ba170199ddb1bdde6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_line_follow.html#a7b4f3695a0133e9ba170199ddb1bdde6">LineFollow::_calibrationSensorWhiteMax</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Holds the maximum value that was measured during the calibration for "white". </p>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00019">19</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6f7f1f6ff879d0ce76823b03844bfc9a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_line_follow.html#a6f7f1f6ff879d0ce76823b03844bfc9a">LineFollow::_calibrationSensorWhiteMin</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Holds the minimum value that was measured during the calibration for "white". </p>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00018">18</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8c494126e578f00240532b866b051718"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_communication.html">Communication</a>* <a class="el" href="class_line_follow.html#a8c494126e578f00240532b866b051718">LineFollow::_com</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The reference to the serial communication class. </p>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00023">23</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0112816d723edd82daf2dabbf1ff074f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_configuration.html">Configuration</a>* <a class="el" href="class_line_follow.html#a0112816d723edd82daf2dabbf1ff074f">LineFollow::_conf</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The reference to the configuration class. </p>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00025">25</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaef3837f6fd0ea4d69458dbe7a5ed54d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_line_follow.html#aaef3837f6fd0ea4d69458dbe7a5ed54d">LineFollow::_deltaPWM</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>write comment </dd></dl>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00034">34</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="a44ff5bd13460ce3d6737319c6d0023f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_line_follow.html#a44ff5bd13460ce3d6737319c6d0023f0">LineFollow::_deltasensor</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000010">Todo:</a></b></dt><dd>write comment </dd></dl>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00032">32</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac6fe17d43571248ea2e74fade7ceb5bd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_move.html">Move</a>* <a class="el" href="class_line_follow.html#ac6fe17d43571248ea2e74fade7ceb5bd">LineFollow::_move</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The reference to the move class to control the motors. </p>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00024">24</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae28a165a4eaf1ab88fe0cab11e325ba7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_line_follow.html#ae28a165a4eaf1ab88fe0cab11e325ba7">LineFollow::_sensoralt</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000011">Todo:</a></b></dt><dd>write comment </dd></dl>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00033">33</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9c31b9a1c2d0627dcbfdb2af0bf7778e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long <a class="el" href="class_line_follow.html#a9c31b9a1c2d0627dcbfdb2af0bf7778e">LineFollow::_timeLastLineFollowCheck</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Holds the timestamp of the time when the last line follow check was done. </p>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="class_line_follow.html#a93ff35747f2ae3bb26998f07243afc3c">doJob()</a> </dd></dl>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00031">31</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<a class="anchor" id="accb339a7a953d66032b9329a2b3a1b4d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_line_follow.html#accb339a7a953d66032b9329a2b3a1b4d">LineFollow::hasReachedCurve</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Is set to true, if the left curve line is reached. </p>

<p>Definition at line <a class="el" href="_line_follow_8h_source.html#l00015">15</a> of file <a class="el" href="_line_follow_8h_source.html">LineFollow.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>D:/Workspace/Arduino/prencar/<a class="el" href="_line_follow_8h_source.html">LineFollow.h</a></li>
<li>D:/Workspace/Arduino/prencar/<a class="el" href="_line_follow_8cpp_source.html">LineFollow.cpp</a></li>
</ul>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="class_line_follow.html">LineFollow</a>      </li>

    <li class="footer">Generated on Fri May 4 2012 09:56:55 for prencar by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.0 </li>
   </ul>
 </div>


</body>
</html>
